package com.ay.smartpark.sdk.service;


import com.ay.smartpark.sdk.common.base.DownloadFileResponse;
import com.ay.smartpark.sdk.common.base.UploadFileResponse;
import org.springframework.web.multipart.MultipartFile;

public interface UploadAndDownloadFileService {

    /**
     * @param defaultWebProtocol 默认网络协议，例：http://
     * @param defaultWebDomain   默认网络域名，例：www.proj.chongqingjscy.aysaas.com:23113
     * @param fieldName          字段名，例：biaozhutupian
     * @param tableName          表名，不要拼接，例：shiti
     * @param phpSessionId       sessionId
     * @param tmpFilePath        保存文件路径
     * @param multipartFiles
     * @return
     */
    UploadFileResponse uploadFiles(String defaultWebProtocol, String defaultWebDomain, String fieldName, String tableName, String phpSessionId, String tmpFilePath, MultipartFile[] multipartFiles);

    /**
     * @param defaultWebProtocol 　默认网络协议，例：http://
     * @param defaultWebDomain   默认网络域名，例：www.proj.chongqingjscy.aysaas.com:23113
     * @param fileNameFromDB     　该记录保存文件名
     * @param recordId           该记录id，即行id
     * @param fieldName          字段名，例：biaozhutupian
     * @param tableName          表名，不要拼接，例：shiti
     * @param phpSessionId       sessionId
     * @return
     */
    DownloadFileResponse downloadFile(String defaultWebProtocol, String defaultWebDomain, String fileNameFromDB, String recordId, String fieldName, String tableName, String phpSessionId);


    /**
     * @param defaultWebProtocol 　默认网络协议，例：http://
     * @param defaultWebDomain   默认网络域名，例：www.proj.chongqingjscy.aysaas.com:23113
     * @param fileNameFromDB     该记录保存文件名
     * @param recordId           该记录id，即行id
     * @param fieldName          字段名，例：biaozhutupian
     * @param tableName          表名，不要拼接，例：shiti
     * @param phpSessionId       sessionId
     * @return
     */
    String getDownloadFileUrl(String defaultWebProtocol, String defaultWebDomain, String fileNameFromDB, String recordId, String fieldName, String tableName, String phpSessionId);

}
